[명령어] VIM 사용법
NOTE
Vim 편집기 기본 사용법 정리. 커서·화면 이동, 수정/복사/붙여넣기/삭제, 검색·치환, 창 분할, 행 이동, Control 문자 표기.
NOTE
원문의 방향키(h/j/k/l), 분할 명령 방향,
x동작 등 일반지식 오류를 교정함(사실 확인 권장).
📌 개념
Vim은 명령 모드(이동/편집 명령)와 입력 모드(텍스트 입력)를 분리해, 손을 홈 로우에서 떼지 않고 마우스 없이 파일을 탐색·수정할 수 있게 설계됐다. 리눅스 서버에는 GUI 에디터가 없는 경우가 많아, 원격 접속 환경에서 텍스트/설정 파일을 편집할 표준 도구로 널리 쓰인다.
자주 쓰는 명령:
- 복사:
yiw(현재 단어 복사),[숫자]yy(현재 커서 기준 n줄 복사) - 되돌리기:
u(이전 실행 취소),Ctrl + r(다시 실행)
💻 예시
글자 이동
방향키로 한 글자씩 이동하는 대신 단어/행 단위로 점프해 이동 속도를 높이기 위한 명령들이다.
w: 다음 단어 첫 글자e: 다음 단어 마지막 글자b: 이전 단어 첫 글자0: 현재 행의 맨 앞$: 현재 행의 맨 끝
화면 이동
큰 로그/설정 파일을 스크롤 없이 페이지 단위로 빠르게 훑어보기 위한 명령들이다.
Ctrl + b: 한 화면 위로 (page up)Ctrl + f: 한 화면 아래로 (page down)Ctrl + u/Ctrl + d: 반 화면 위/아래Ctrl + y/Ctrl + e: 한 행 위/아래
커서 이동 (h/j/k/l)
h: 왼쪽j: 아래k: 위l: 오른쪽
수정
x+i로 지우고 다시 입력 모드에 들어가는 대신, “삭제와 동시에 입력 모드 진입”을 한 번에 처리해 타이핑 수를 줄이는 명령들이다.
r: 커서 위치 한 글자 수정cw: 현재 단어 끝까지 수정[숫자]s: n글자 수정 (ex:5s= 5글자 수정)C: 커서 위치부터 행 끝까지 수정
복사 / 붙여넣기 / 삭제
yy: 한 줄 복사p: 붙여넣기dd: 한 줄 삭제x: 한 글자 삭제J: 아래 줄을 현재 줄로 끌어올리기
선택 (비주얼 모드)
여러 줄/여러 글자를 한 번에 지우거나 복사해야 할 때, 마우스 드래그 없이 키보드만으로 범위를 지정하기 위한 모드다.
Ctrl + v: 블록(범위) 선택Shift + v: 한 줄 선택
줄 번호 / 찾기 / 치환
:set nu " 줄 번호 표시
/검색어 " 커서 아래 방향 검색
?검색어 " 커서 위 방향 검색
n / N " 다음 / 이전 검색 결과로 이동
:%s/대상문자열/변경문자열/g " 파일 전체에서 대상 문자열을 변경문자열로 치환셸 명령 실행 / 잡 제어
:!명령어 " vim 안에서 셸 명령 실행
:sh " 셸로 나감 (되돌아오기: exit)
Ctrl + z " vim 창 내리기(백그라운드)
fg " vim으로 되돌아오기창(윈도우) 분할
두 파일을 비교하거나(예: 설정 파일 원본과 수정본), 한 파일의 다른 위치를 동시에 참고하며 편집할 때 화면을 나눠 쓰기 위한 기능이다.
- 수평 분할(위아래): 같은 파일
:[크기]sp, 다른 파일:[크기]sp [파일명](추천 크기 30) - 수직 분할(좌우): 같은 파일
:[크기]vs, 다른 파일:[크기]vs [파일명](추천 크기 100) - 다음 창으로 커서 이동:
Ctrl + w, w - 현재 창만 두고 나머지 닫기:
Ctrl + w, o - 여러 파일을 열었을 때 다음 문서:
:n
행 이동
gg: 첫 행으로 이동[숫자]G(숫자 입력 +Shift + g): 원하는 행 번호로 이동G(Shift + g): 맨 끝 행으로 이동Home: 행의 첫 번째로 이동$(Shift + 4): 행의 마지막 문자로 이동
Control 문자 표기법
입력 방법: Ctrl + v → Ctrl + [원하는 문자]
예) Ctrl + v → Ctrl + m → ^M
